package com.zzy.msm.utils;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;

/**
 * @Author KAZU
 * @Date 2023/1/19 11:18
 * @Version 1.0
 *
 * @获取随机数
 */
@SuppressWarnings({"all"})
public class RandomUtil {
	
	private static final Random random = new Random();
	
	private static final DecimalFormat fourdf = new DecimalFormat("0000");
	
	private static final DecimalFormat sixdf = new DecimalFormat("000000");
	
	public static String getFourBitRandom() {
		return fourdf.format(random.nextInt(10000));
	}
	
	public static String getSixBitRandom() {
		return sixdf.format(random.nextInt(1000000));
	}
	
	/**
	 * 给定数组，抽取n个数据
	 * @param list
	 * @param n
	 * @return
	 */
	public static ArrayList getRandom(List list, int n) {
		
		Random random = new Random();
		
		HashMap<Object, Object> hashMap = new HashMap<Object, Object>();
		
		// 生成随机数字并存入HashMap
		for (int i = 0; i < list.size(); i++) {
			
			int number = random.nextInt(100) + 1;
			
			hashMap.put(number, i);
		}
		
		// 从HashMap导入数组
		Object[] robjs = hashMap.values().toArray();
		
		ArrayList r = new ArrayList();
		
		// 遍历数组并打印数据
		for (int i = 0; i < n; i++) {
			r.add(list.get((int) robjs[i]));
			System.out.print(list.get((int) robjs[i]) + "\t");
		}
		System.out.print("\n");
		return r;
	}
	
}
